This invention relates to migration of a virtual machine image in a computer system environment. More specifically, the invention relates to data chunking one or more virtual machine images and exploiting similarities among virtual machine image data chunks to distribute migration workload.
A virtual machine is a self contained operating environment that behaves as if it is a separate computer, while allowing the sharing of underlying physical machine resources between multiple virtual machines. Each virtual machine operates as a whole machine, while a host of the virtual machine(s) manages resources to support each virtual machine. For example, a virtual machine consists of CPUs, memory, and I/O slots that are a subset of the pool of available resources within a computer system. Each of the virtual machines within the computer system is capable of running a version of an operating system and a set of application workloads.
Virtual machines reside on a physical machine. A virtual machine image, also known as a virtual disk image, is a single file or group of files that has a well defined format and is interpreted by an infrastructure of a shared pool of resources as a hard disk. Migrating a virtual machine image across data centers is a challenging task due to load associated with size and organizational constraints. More specifically, one application may incorporate two or more virtual machine images, so that migration of a virtual machine image may involve migration of multiple virtual machine images. Network bandwidth also affects migration. More specifically, network bandwidth has limits, which may be exceeded due to the size of the virtual machine image, and that the migration is employing more than one virtual machine image. Accordingly, there is a need to effectively and efficiently manage migration of virtual machine images across data centers.